package utils;
import sensores.*;
import alarmas.*;
import events.*;

public class GetInstances {
	public static Sensor getSensor(int numSensor){
		Sensor typeReturn = null;
		
		switch(numSensor){
			case 1://"Sensor"+Sensores.HUMEDAD:
				//System.out.println("creando sensor Humedad - 1");
				typeReturn = new SensorHumedad();
			break;
			case 2://"Sensor"+Sensores.HUMEDAD:
				//System.out.println("creando sensor Luz - 2");
				typeReturn = new SensorLuz();
			break;
			case 3://"Sensor"+Sensores.HUMEDAD:
				//System.out.println("creando sensor Temperatura - 3");
				typeReturn = new SensorTemperatura();
			break;
			case 4://"Sensor"+Sensores.HUMEDAD:
				//System.out.println("creando sensor viento - 4");
				typeReturn = new SensorViento();
			break;
			case 5://"Sensor"+Sensores.HUMEDAD:
				//System.out.println("creando sensor SensorRiego - 5");
				typeReturn = new SensorRiego();
			break;
		}
		
		return typeReturn;
	}
	
	public static Alarma getAlarma(int numAlarma){
		Alarma typeReturn = null;

		switch(numAlarma){
			case 1:
				typeReturn = new AlarmaEmail();
			break;
			case 2:
				typeReturn = new AlarmaLuz();
			break;
			case 3:
				typeReturn = new AlarmaSms();
			break;
			case 4:
				typeReturn = new AlarmaSonora();
			break;
			case 5:
				typeReturn = new AlarmaMensajeVoz();
			break;
		}
		
		return typeReturn;
	}
	
	public static Event getEvent(int numEvent){
		Event typeReturn = null;

		switch(numEvent){
			case 1:
				typeReturn = new ActivarSensorHumedad();
			break;
			case 2:
				typeReturn = new ActivarSensorLuz();
			break;
			case 3:
				typeReturn = new ActivarSensorTemperatura();
			break;
			case 4:
				typeReturn = new DetenerSensorHumedad();
			break;
			case 5:
				typeReturn = new DetenerSensorLuz();
			break;
			case 6:
				typeReturn = new DetenerSensorTemperatura();
			break;
			case 7:
				typeReturn = new RevisarSensorHumedad();
			break;
			case 8:
				typeReturn = new RevisarSensorLuz();
			break;
			case 9:
				typeReturn = new RevisarSensorTemperatura();
			break;
		}
		
		return typeReturn;
	}
}
